--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / about / AboutPage.vue
Displaying Raw • Download
meshchatx/src/frontend/components/about/AboutPage.vue 9cd0e66d8aa6dac478b6001f703ca6777f8f709c (9cd0e66d) Text, 94.10 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD AND MIT -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col flex-1 overflow-hidden min-w-0 bg-slate-50 dark:bg-zinc-950"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto overflow-x-hidden w-full min-w-0 px-3 sm:px-5 md:px-5 lg:px-8 py-4 sm:py-6 text-gray-900 dark:text-zinc-100"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-0 w-full max-w-4xl mx-auto pb-16 sm:pb-24 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"about-section"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-8 lg:flex-row lg:items-center"Tb4b4b4>
T8b949e<!-- Logo & Title -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-6"Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3srcTff7b72=Ta5d6ff"../../public/favicons/favicon-512x512.png"
Te6edf3classTff7b72=Ta5d6ff"h-20 w-20 shrink-0 object-contain"
Te6edf3altTff7b72=Ta5d6ff""
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black text-gray-900 dark:text-white leading-none tracking-tight"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.app_name"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-0.5 sm:flex-row sm:flex-wrap sm:items-baseline sm:gap-x-3 sm:gap-y-0"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-black uppercase tracking-[0.2em] text-blue-500 opacity-80"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.version"Tb4b4b4, Tb4b4b4{ Te6edf3versionTff7b72: Te6edf3appInfoTb4b4b4.Te6edf3version Tb4b4b4}Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3formattedUiBuildDateTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs font-medium normal-case tracking-normal text-gray-500 dark:text-zinc-500"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.ui_build"Tb4b4b4, Tb4b4b4{ Te6edf3dateTff7b72: Te6edf3formattedUiBuildDate Tb4b4b4}Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"grid w-full grid-cols-2 gap-2 sm:flex sm:w-auto sm:flex-1 sm:flex-wrap sm:justify-end sm:gap-3"
Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"button" Te6edf3classTff7b72=Ta5d6ff"about-action-btn secondary-chip" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3showTutorialTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-help-circle" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"mr-2 shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.tutorial_title"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"button" Te6edf3classTff7b72=Ta5d6ff"about-action-btn secondary-chip" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3showChangelogTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-history" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"mr-2 shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.changelog_title"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72router-link
Tb4b4b4:Te6edf3toTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff'licenses' Tb4b4b4}Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"about-action-btn secondary-chip inline-flex items-center no-underline"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-license" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"mr-2 shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.third_party_licenses"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72router-linkTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isElectronTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"about-action-btn primary-chip"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3relaunchTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-restart" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"mr-2 shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.restart_app"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"about-action-btn secondary-chip"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3reloadingRnsTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3restartRnsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-restart-alert" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"mr-2 shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"Tb4b4b4>Tff7b72{{
Te6edf3reloadingRns Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"app.reloading_rns"Tb4b4b4) Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"app.restart_rns"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"button" Te6edf3classTff7b72=Ta5d6ff"about-action-btn danger-chip" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3shutdownTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-power" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"mr-2 shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.shutdown"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-10 pt-8 border-t border-gray-100 dark:border-zinc-800 flex flex-col gap-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 max-w-xl text-lg leading-relaxed"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.tagline_lead"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"https://reticulum.network"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"text-blue-500 font-black hover:underline decoration-2 underline-offset-4"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.tagline_link"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72a
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.tagline_after"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-6 pt-6 border-t border-gray-200/70 dark:border-zinc-800/80"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"about-action-btn secondary-chip w-full justify-between text-left"
Tb4b4b4:Te6edf3aria-expandedTff7b72=Ta5d6ff"Te6edf3showContactSupportTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3showContactSupport Tff7b72= Tff7b72!Te6edf3showContactSupportTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-3 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-gray-100 dark:bg-zinc-800 text-gray-600 dark:text-zinc-300"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-card-account-details-outline" Te6edf3sizeTff7b72=Ta5d6ff"22"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-xs font-semibold uppercase tracking-wide text-gray-800 dark:text-zinc-100 truncate"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.contact_support_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-icon
Tb4b4b4:Te6edf3iconTff7b72=Ta5d6ff"Te6edf3showContactSupport Tff7b72? Ta5d6ff'mdi-chevron-up' Tff7b72: Ta5d6ff'mdi-chevron-down'Ta5d6ff"
Te6edf3sizeTff7b72=Ta5d6ff"22"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 text-gray-500 dark:text-zinc-400 group-hover:text-gray-700 dark:group-hover:text-zinc-200 transition-colors"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3showContactSupportTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"mt-6 flex flex-col gap-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-semibold text-gray-500 dark:text-zinc-400 uppercase tracking-wide flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-circle-outline" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.contact_developer"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 px-3 py-2 rounded-xl bg-gray-50 dark:bg-zinc-900/40 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72router-link
Tb4b4b4:Te6edf3toTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff'messages'Tb4b4b4,
Te6edf3paramsTff7b72: Tb4b4b4{ Te6edf3destinationHashTff7b72: Te6edf3developerLxmfPrimary Tb4b4b4}Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0 text-sm font-mono text-gray-700 dark:text-zinc-300 hover:text-blue-600 dark:hover:text-blue-400 break-all leading-snug text-left"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.contact_open_messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3developerLxmfPrimary Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72router-linkTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded-lg p-1.5 text-gray-500 hover:text-blue-600 dark:text-zinc-400 dark:hover:text-blue-400 hover:bg-gray-100 dark:hover:bg-zinc-800/80 transition-colors"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.contact_copy_address'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3copyValueTb4b4b4(Te6edf3developerLxmfPrimaryTb4b4b4, Ta5d6ff'about.contact_lxmf_address'Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-content-copy" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 px-3 py-2 rounded-xl bg-gray-50 dark:bg-zinc-900/40 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72router-link
Tb4b4b4:Te6edf3toTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff'messages'Tb4b4b4,
Te6edf3paramsTff7b72: Tb4b4b4{ Te6edf3destinationHashTff7b72: Te6edf3developerLxmfAlternate Tb4b4b4}Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0 text-sm font-mono text-gray-700 dark:text-zinc-300 hover:text-blue-600 dark:hover:text-blue-400 break-all leading-snug text-left"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.contact_open_messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3developerLxmfAlternate Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72router-linkTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded-lg p-1.5 text-gray-500 hover:text-blue-600 dark:text-zinc-400 dark:hover:text-blue-400 hover:bg-gray-100 dark:hover:bg-zinc-800/80 transition-colors"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.contact_copy_address'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3copyValueTb4b4b4(Te6edf3developerLxmfAlternateTb4b4b4, Ta5d6ff'about.contact_alternate'Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-content-copy" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-400 bg-gray-50 dark:bg-zinc-900/40 p-3 rounded-xl border border-gray-100 dark:border-zinc-800 flex items-start gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline"
Te6edf3sizeTff7b72=Ta5d6ff"16"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 mt-0.5"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.contact_propagation_hint"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"border-t border-gray-100 dark:border-zinc-800/90"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-semibold text-gray-500 dark:text-zinc-400 uppercase tracking-wide flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hand-heart" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.donate_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-semibold text-gray-500 dark:text-zinc-400 uppercase tracking-wide mb-1.5"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.donate_monero_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 px-3 py-2 rounded-xl bg-gray-50 dark:bg-zinc-900/40 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0 text-sm font-mono text-gray-700 dark:text-zinc-300 break-all leading-snug select-all"
Tb4b4b4>Tff7b72{{ Te6edf3moneroDonateAddress Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded-lg p-1.5 text-gray-500 hover:text-blue-600 dark:text-zinc-400 dark:hover:text-blue-400 hover:bg-gray-100 dark:hover:bg-zinc-800/80 transition-colors"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.donate_copy_monero'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3copyValueTb4b4b4(Te6edf3moneroDonateAddressTb4b4b4, Ta5d6ff'about.donate_monero_label'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-content-copy" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-2 sm:flex-row sm:flex-wrap"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"https://ko-fi.com/quad4"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3relTff7b72=Ta5d6ff"noopener noreferrer"
Te6edf3classTff7b72=Ta5d6ff"inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 rounded-xl border border-gray-200 dark:border-zinc-700 bg-gray-50 dark:bg-zinc-900/40 hover:bg-gray-100 dark:hover:bg-zinc-800 text-gray-800 dark:text-zinc-100 text-xs font-semibold transition-colors"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-coffee"
Te6edf3sizeTff7b72=Ta5d6ff"18"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.donate_kofi"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"https://buymeacoffee.com/quad4"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3relTff7b72=Ta5d6ff"noopener noreferrer"
Te6edf3classTff7b72=Ta5d6ff"inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 rounded-xl border border-gray-200 dark:border-zinc-700 bg-gray-50 dark:bg-zinc-900/40 hover:bg-gray-100 dark:hover:bg-zinc-800 text-gray-800 dark:text-zinc-100 text-xs font-semibold transition-colors"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-cup"
Te6edf3sizeTff7b72=Ta5d6ff"18"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.donate_buymeacoffee"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-6 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-right"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-gray-400 dark:text-zinc-500 uppercase tracking-[0.2em] leading-none mb-1"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.database_size"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-2xl font-black text-gray-900 dark:text-white tabular-nums"Tb4b4b4>
Tff7b72{{
Te6edf3formatBytesTb4b4b4(
Tb4b4b4(Te6edf3appInfoTb4b4b4.Te6edf3database_files
Tff7b72? Te6edf3appInfoTb4b4b4.Te6edf3database_filesTb4b4b4.Te6edf3total_bytes
Tff7b72: Te6edf3appInfoTb4b4b4.Te6edf3database_file_sizeTb4b4b4) Tff7b72|| T79c0ff0
Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
T8b949e<!-- Security & Integrity -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"about-section hidden sm:block"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between mb-6"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-black text-blue-500 uppercase tracking-[0.2em] flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-search" Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.security_integrity"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72span
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3statusPillClassTb4b4b4(Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"font-black px-3 py-1 text-[11px]"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Tb4b4b4:Te6edf3iconTff7b72=Ta5d6ff"
Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Tff7b72? Ta5d6ff'mdi-shield-check'
Tff7b72: Ta5d6ff'mdi-shield-alert'
Ta5d6ff"
Te6edf3sizeTff7b72=Ta5d6ff"14"
Te6edf3start
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Tff7b72? Ta5d6ff'text-emerald-600 dark:text-emerald-400'
Tff7b72: Ta5d6ff''
Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{
Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"about.secured"Tb4b4b4)
Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"about.tampering_detected"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-1 text-[11px] font-black"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3acknowledgeIntegrityTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-circle" Te6edf3sizeTff7b72=Ta5d6ff"14" Te6edf3startTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.acknowledge_reset"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-[11px] leading-relaxed text-gray-500 dark:text-gray-400 mb-4"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.security_integrity_description"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTb4b4b4.Te6edf3integrity_issues Tff7b72&& Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-4 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-900 rounded-xl"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-black text-amber-700 dark:text-amber-400 mb-3 uppercase tracking-wider flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-alert" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.technical_issues_detected"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"text-[11px] text-amber-700 dark:text-amber-300 space-y-2 list-none font-mono"Tb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3issueTb4b4b4, Te6edf3indexTb4b4b4) Tff7b72in Te6edf3appInfoTb4b4b4.Te6edf3integrity_issuesTa5d6ff" Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3indexTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"opacity-50"Tb4b4b4>•Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3issue Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-700 dark:text-emerald-200 flex items-center gap-3 bg-emerald-500/10 dark:bg-emerald-900/30 p-4 rounded-xl border border-emerald-500/20 dark:border-emerald-500/30"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram"
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3classTff7b72=Ta5d6ff"text-emerald-600 dark:text-emerald-400 shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold tracking-tight"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.no_integrity_violations"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Advanced Tech Info -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"about-section"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-black text-blue-500 uppercase tracking-[0.2em] mb-6 flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server" Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.environment_information"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid gap-8 sm:grid-cols-2 lg:grid-cols-3 text-sm min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"glass-label text-[10px]! mb-2 opacity-50"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.reticulum_config"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"monospace-field bg-zinc-50! dark:bg-zinc-950! break-all text-[11px] p-3! rounded-xl border border-zinc-100 dark:border-zinc-800"
Tb4b4b4>
Tff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3reticulum_config_path Tff7b72|| Te6edf3$tTb4b4b4(Ta5d6ff"about.path_unknown"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isElectronTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip mt-3 px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3showReticulumConfigFileTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-folder-open" Te6edf3start Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.reveal_config_file"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"glass-label text-[10px]! mb-2 opacity-50"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.database_path"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"monospace-field bg-zinc-50! dark:bg-zinc-950! break-all text-[11px] p-3! rounded-xl border border-zinc-100 dark:border-zinc-800"
Tb4b4b4>
Tff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3database_path Tff7b72|| Te6edf3$tTb4b4b4(Ta5d6ff"about.path_unknown"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isElectronTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip mt-3 px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3showDatabaseFileTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3start Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.reveal_database_file"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col justify-center space-y-3 py-2 sm:py-3 border-t sm:border border-gray-200/60 dark:border-zinc-800/80 sm:rounded-xl sm:p-4 sm:bg-black/2 dark:sm:bg-white/2"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3configTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"space-y-3 mb-2 pb-3 border-b border-zinc-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-blue-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.identity_hash"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-[10px] break-all opacity-70"Tb4b4b4>Tff7b72{{
Te6edf3configTb4b4b4.Te6edf3identity_hash
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-blue-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.lxmf_address"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-[10px] break-all opacity-70"Tb4b4b4>Tff7b72{{
Te6edf3configTb4b4b4.Te6edf3lxmf_address_hash
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-blue-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_python"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs font-bold"
Tb4b4b4>vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3python_version Tff7b72|| Te6edf3$tTb4b4b4(Ta5d6ff"about.path_unknown"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-purple-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_lxmf"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs font-bold"
Tb4b4b4>vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3lxmf_version Tff7b72|| Te6edf3$tTb4b4b4(Ta5d6ff"about.path_unknown"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-indigo-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_rns"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs font-bold"
Tb4b4b4>vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3rns_version Tff7b72|| Te6edf3$tTb4b4b4(Ta5d6ff"about.path_unknown"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-emerald-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_platform"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs font-bold"Tb4b4b4>Tff7b72{{ Te6edf3environmentInfoTb4b4b4.Te6edf3platform Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-amber-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_language"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs font-bold"Tb4b4b4>Tff7b72{{ Te6edf3environmentInfoTb4b4b4.Te6edf3language Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-fuchsia-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_backend_url"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs font-bold"Tb4b4b4>Tff7b72{{ Te6edf3environmentInfoTb4b4b4.Te6edf3backendUrl Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-1 pt-2 border-t border-zinc-100 dark:border-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-slate-500 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.env_user_agent"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-mono text-[10px] break-all opacity-70"Tb4b4b4>Tff7b72{{
Te6edf3environmentInfoTb4b4b4.Te6edf3userAgent
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Dependency Chain -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"about-section"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-black text-blue-500 uppercase tracking-[0.2em] mb-8 flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-link-variant" Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.dependency_chain"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 relative min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col space-y-8 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-5"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-12 h-12 rounded-2xl bg-blue-500/10 flex items-center justify-center border border-blue-500/20 shadow-xs"
Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3srcTff7b72=Ta5d6ff"../../public/favicons/favicon-512x512.png"
Te6edf3classTff7b72=Ta5d6ff"w-7 h-7 object-contain"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.app_name"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs font-mono font-bold text-gray-400"Tb4b4b4>
vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3version Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-5 pl-5 border-l-2 border-zinc-100 dark:border-zinc-800 ml-6 relative"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"absolute left-[-2px] top-0 bottom-0 w-[2px] bg-linear-to-b from-blue-500 to-emerald-500"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-12 h-12 rounded-2xl bg-emerald-500/10 flex items-center justify-center border border-emerald-500/20 text-emerald-600 font-black text-[10px] tracking-tighter shadow-xs"
Tb4b4b4>
LXMFy
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-black text-gray-900 dark:text-white leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.dep_lxmfy_subtitle"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs font-mono font-bold text-gray-400 mt-1"Tb4b4b4>
vTff7b72{{ Tb4b4b4(Te6edf3appInfoTb4b4b4.Te6edf3dependencies Tff7b72&& Te6edf3appInfoTb4b4b4.Te6edf3dependenciesTb4b4b4.Te6edf3lxmfyTb4b4b4) Tff7b72|| Ta5d6ff"unknown" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-5 pl-5 border-l-2 border-zinc-100 dark:border-zinc-800 ml-6 relative"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"absolute left-[-2px] top-0 bottom-0 w-[2px] bg-linear-to-b from-emerald-500 to-purple-500"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-12 h-12 rounded-2xl bg-purple-500/10 flex items-center justify-center border border-purple-500/20 text-purple-600 font-black text-[10px] tracking-tighter shadow-xs"
Tb4b4b4>
LXMF
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-black text-gray-900 dark:text-white leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.dep_lxmf_subtitle"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs font-mono font-bold text-gray-400 mt-1"Tb4b4b4>
vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3lxmf_version Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-5 pl-5 border-l-2 border-zinc-100 dark:border-zinc-800 ml-6 relative"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"absolute left-[-2px] top-0 bottom-0 w-[2px] bg-linear-to-b from-purple-500 to-indigo-500"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-12 h-12 rounded-2xl bg-indigo-500/10 flex items-center justify-center border border-indigo-500/20 text-indigo-600 font-black text-[10px] tracking-tighter shadow-xs"
Tb4b4b4>
RNS
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-black text-gray-900 dark:text-white leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.dep_rns_subtitle"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap items-center gap-2 mt-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs font-mono font-bold text-gray-400 shrink-0"Tb4b4b4>
vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3rns_version Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3appInfoTb4b4b4.Te6edf3is_connected_to_shared_instance
Tff7b72? Ta5d6ff'bg-blue-500/10 text-blue-500 border-blue-500/20'
Tff7b72: Ta5d6ff'bg-emerald-500/10 text-emerald-500 border-emerald-500/20'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[8px] font-black uppercase tracking-wider px-1.5 py-0.5 rounded-sm border max-w-full wrap-break-word"
Tb4b4b4>
Tff7b72{{
Te6edf3appInfoTb4b4b4.Te6edf3is_connected_to_shared_instance
Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"about.shared_instance_badge"Tb4b4b4, Tb4b4b4{
Te6edf3addressTff7b72:
Te6edf3appInfoTb4b4b4.Te6edf3shared_instance_address Tff7b72||
Te6edf3$tTb4b4b4(Ta5d6ff"about.path_unknown"Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"about.main_instance_badge"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-8 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"py-4 sm:p-5 border-t border-gray-200/60 dark:border-zinc-800/80 sm:border sm:rounded-2xl sm:bg-black/2 dark:sm:bg-white/2 min-w-0"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-black dark:text-white uppercase tracking-[0.2em] mb-4"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.core_runtime"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-x-6 gap-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTb4b4b4.Te6edf3lxst_versionTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-black dark:text-white uppercase leading-none"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.lxst_engine"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[11px] font-mono font-bold mt-1.5 text-black dark:text-white tracking-tight"
Tb4b4b4>vTff7b72{{ Te6edf3appInfoTb4b4b4.Te6edf3lxst_version Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3electronVersionTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-black dark:text-white uppercase leading-none"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.electron_runtime"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[11px] font-mono font-bold mt-1.5 text-black dark:text-white tracking-tight"
Tb4b4b4>vTff7b72{{ Te6edf3electronVersion Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chromeVersionTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-black dark:text-white uppercase leading-none"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.chrome_runtime"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[11px] font-mono font-bold mt-1.5 text-black dark:text-white tracking-tight"
Tb4b4b4>vTff7b72{{ Te6edf3chromeVersion Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3nodeVersionTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-black dark:text-white uppercase leading-none"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.nodejs_runtime"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[11px] font-mono font-bold mt-1.5 text-black dark:text-white tracking-tight"
Tb4b4b4>vTff7b72{{ Te6edf3nodeVersion Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3appInfoTb4b4b4.Te6edf3dependenciesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-black dark:text-white uppercase tracking-[0.2em] mb-4"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.backend_stack"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 sm:grid-cols-3 gap-x-6 gap-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3versionTb4b4b4, Te6edf3nameTb4b4b4) Tff7b72in Te6edf3appInfoTb4b4b4.Te6edf3dependenciesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-black dark:text-white uppercase truncate leading-none"
Tb4b4b4>Tff7b72{{ Te6edf3nameTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"_"Tb4b4b4, Ta5d6ff" "Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-mono font-bold mt-1.5 text-black dark:text-white tracking-tight"
Tb4b4b4>vTff7b72{{ Te6edf3version Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Database Health -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"about-section"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between mb-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-black text-blue-500 uppercase tracking-[0.2em] flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-cog" Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.database_health_maintenance"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2 w-full md:w-auto"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-4! py-1.5! text-xs! min-h-[44px] sm:min-h-0"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3databaseActionInProgress Tff7b72|| Te6edf3healthLoadingTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3getDatabaseHealthTb4b4b4(Tff7b72trueTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-refresh" Te6edf3start Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3healthLoadingTa5d6ff"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.loading"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.refresh"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-4! py-1.5! text-xs!"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3databaseActionInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3vacuumDatabaseTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-broom" Te6edf3start Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4> Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.vacuum"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"danger-chip px-4! py-1.5! text-xs!"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3databaseActionInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3runRecoveryTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-medical-bag" Te6edf3start Te6edf3sizeTff7b72=Ta5d6ff"14"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.recovery"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3databaseHealthTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-6 lg:gap-8 mb-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"py-3 px-2 sm:p-4 border-b border-gray-200/60 dark:border-zinc-800/60 md:border md:rounded-xl"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-gray-400 dark:text-zinc-600 uppercase tracking-[0.2em] mb-2 leading-none"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[Te6edf3databaseHealthTb4b4b4.Te6edf3quick_check Tff7b72=== Ta5d6ff'ok' Tff7b72? Ta5d6ff'text-emerald-500' Tff7b72: Ta5d6ff'text-red-500'Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-lg font-black uppercase tracking-tight"
Tb4b4b4>
Tff7b72{{ Te6edf3databaseHealthTb4b4b4.Te6edf3quick_check Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"py-3 px-2 sm:p-4 border-b border-gray-200/60 dark:border-zinc-800/60 md:border md:rounded-xl"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-gray-400 dark:text-zinc-600 uppercase tracking-[0.2em] mb-2 leading-none"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.journal_short"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-lg font-black uppercase text-blue-500 tracking-tight"Tb4b4b4>
Tff7b72{{ Te6edf3databaseHealthTb4b4b4.Te6edf3journal_mode Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"py-3 px-2 sm:p-4 border-b border-gray-200/60 dark:border-zinc-800/60 md:border md:rounded-xl"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-gray-400 dark:text-zinc-600 uppercase tracking-[0.2em] mb-2 leading-none"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.page_count_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-lg font-black font-mono tracking-tight tabular-nums"Tb4b4b4>
Tff7b72{{ Te6edf3databaseHealthTb4b4b4.Te6edf3page_count Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"py-3 px-2 sm:p-4 border-b border-gray-200/60 dark:border-zinc-800/60 md:border md:rounded-xl"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-black text-gray-400 dark:text-zinc-600 uppercase tracking-[0.2em] mb-2 leading-none"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.free_space"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-lg font-black text-amber-500 tracking-tight tabular-nums"Tb4b4b4>
Tff7b72{{ Te6edf3formatBytesTb4b4b4(Te6edf3databaseHealthTb4b4b4.Te6edf3estimated_free_bytesTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"border-t border-zinc-100 dark:border-zinc-800 pt-8 space-y-8"Tb4b4b4>
T8b949e<!-- Backups -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col lg:flex-row lg:items-center justify-between gap-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-black text-gray-900 dark:text-white text-sm tracking-tight flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-content-save-all" Te6edf3sizeTff7b72=Ta5d6ff"16" Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.database_backups_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.database_backups_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-5! py-2.5!"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3backupInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3backupDatabaseTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-download" Te6edf3startTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3backupInProgressTa5d6ff"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.downloading"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.download_backup"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-5! py-2.5!"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3restoreInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$refsTb4b4b4.Te6edf3restoreFileInputTff7b72?Tb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-upload" Te6edf3startTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3restoreInProgressTa5d6ff"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.restoring"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.restore_from_file"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3refTff7b72=Ta5d6ff"restoreFileInput"
Te6edf3typeTff7b72=Ta5d6ff"file"
Te6edf3acceptTff7b72=Ta5d6ff".zip,application/zip"
Te6edf3classTff7b72=Ta5d6ff"hidden"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3onRestoreFileChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Snapshots -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col lg:flex-row lg:items-center justify-between gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-black text-gray-900 dark:text-white text-sm tracking-tight flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-camera" Te6edf3sizeTff7b72=Ta5d6ff"16" Te6edf3classTff7b72=Ta5d6ff"text-purple-500"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.local_snapshots_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.local_snapshots_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2 w-full md:w-auto"Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3snapshotNameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.snapshot_placeholder'Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"bg-zinc-50 dark:bg-zinc-900 px-4 py-2 rounded-xl text-sm border border-zinc-100 dark:border-zinc-800 focus:outline-hidden focus:ring-2 focus:ring-blue-500/20 flex-1 md:min-w-[200px]"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-6!"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3snapshotInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3createSnapshotTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3snapshotInProgressTa5d6ff"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.creating"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_create"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3snapshots Tff7b72&& Te6edf3snapshotsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid gap-3 sm:grid-cols-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3snapshot Tff7b72in Te6edf3snapshotsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3snapshotTb4b4b4.Te6edf3pathTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 py-3 sm:p-4 border-b border-gray-200/60 dark:border-zinc-800/80 last:border-0 sm:border sm:rounded-lg sm:bg-black/2 dark:sm:bg-white/2 transition-colors"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"font-black text-gray-900 dark:text-white text-xs truncate"
Tb4b4b4>Tff7b72{{ Te6edf3snapshotTb4b4b4.Te6edf3name Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-400 mt-1 tabular-nums"
Tb4b4b4>Tff7b72{{ Te6edf3formatBytesTb4b4b4(Te6edf3snapshotTb4b4b4.Te6edf3sizeTb4b4b4) Tff7b72}} •
Tff7b72{{ Te6edf3UtilsTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3snapshotTb4b4b4.Te6edf3created_atTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3downloadSnapshotTb4b4b4(Te6edf3snapshotTb4b4b4.Te6edf3nameTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-download" Te6edf3sizeTff7b72=Ta5d6ff"12" Te6edf3startTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_download"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3restoreFromSnapshotTb4b4b4(Te6edf3snapshotTb4b4b4.Te6edf3pathTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_restore"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"danger-chip px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3deleteSnapshotTb4b4b4(Te6edf3snapshotTb4b4b4.Te6edf3nameTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-delete" Te6edf3sizeTff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Snapshots Pagination -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3snapshotsTotal Tff7b72> Te6edf3snapshotsLimitTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between px-2"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-gray-400 uppercase tracking-widest"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.pagination_page_of"Tb4b4b4, Tb4b4b4{
Te6edf3currentTff7b72: Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3snapshotsOffset Tff7b72/ Te6edf3snapshotsLimitTb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4,
Te6edf3totalTff7b72: Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3snapshotsTotal Tff7b72/ Te6edf3snapshotsLimitTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"secondary-chip p-1! disabled:opacity-30"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3snapshotsOffset Tff7b72=== T79c0ff0Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3prevSnapshotsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-chevron-left"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"secondary-chip p-1! disabled:opacity-30"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3snapshotsOffset Tff7b72+ Te6edf3snapshotsLimit Tff7b72>= Te6edf3snapshotsTotalTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextSnapshotsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-chevron-right"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Auto Backups -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3autoBackups Tff7b72&& Te6edf3autoBackupsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col lg:flex-row lg:items-center justify-between gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-black text-gray-900 dark:text-white text-sm tracking-tight flex items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-history" Te6edf3sizeTff7b72=Ta5d6ff"16" Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.automatic_backups_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.automatic_backups_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3autoBackups Tff7b72&& Te6edf3autoBackupsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid gap-3 sm:grid-cols-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3backup Tff7b72in Te6edf3autoBackupsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3backupTb4b4b4.Te6edf3pathTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 py-3 sm:p-4 border-b border-gray-200/60 dark:border-zinc-800/80 last:border-0 sm:border sm:rounded-lg sm:bg-black/2 dark:sm:bg-white/2 transition-colors"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"font-black text-gray-900 dark:text-white text-xs truncate"
Tb4b4b4>Tff7b72{{ Te6edf3backupTb4b4b4.Te6edf3name Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-400 mt-1 tabular-nums"
Tb4b4b4>Tff7b72{{ Te6edf3formatBytesTb4b4b4(Te6edf3backupTb4b4b4.Te6edf3sizeTb4b4b4) Tff7b72}} •
Tff7b72{{ Te6edf3UtilsTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3backupTb4b4b4.Te6edf3created_atTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3downloadBackupFileTb4b4b4(Te6edf3backupTb4b4b4.Te6edf3nameTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-download" Te6edf3sizeTff7b72=Ta5d6ff"12" Te6edf3startTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_download"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3restoreFromSnapshotTb4b4b4(Te6edf3backupTb4b4b4.Te6edf3pathTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_restore"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"danger-chip px-3! py-1! text-[10px]!"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3deleteBackupTb4b4b4(Te6edf3backupTb4b4b4.Te6edf3nameTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-delete" Te6edf3sizeTff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3autoBackupsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3bTb4b4b4) Tb4b4b4=> Te6edf3bTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff'SUSPICIOUS'Tb4b4b4)Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"mt-4 p-3 rounded-xl bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-900 text-xs text-amber-700 dark:text-amber-300 flex items-start gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-alert" Te6edf3sizeTff7b72=Ta5d6ff"16" Te6edf3classTff7b72=Ta5d6ff"shrink-0 mt-0.5"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span
Tb4b4b4>Suspicious backups are created when the database size or message count
drops unexpectedly compared to the last known baseline, usually after a
crash, corruption, or deletion. They are kept automatically so you can
inspect or restore from them.Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Backups Pagination -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3autoBackupsTotal Tff7b72> Te6edf3autoBackupsLimitTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between px-2"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-black text-gray-400 uppercase tracking-widest"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"about.pagination_page_of"Tb4b4b4, Tb4b4b4{
Te6edf3currentTff7b72: Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3autoBackupsOffset Tff7b72/ Te6edf3autoBackupsLimitTb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4,
Te6edf3totalTff7b72: Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3autoBackupsTotal Tff7b72/ Te6edf3autoBackupsLimitTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"secondary-chip p-1! disabled:opacity-30"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3autoBackupsOffset Tff7b72=== T79c0ff0Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3prevBackupsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-chevron-left"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"secondary-chip p-1! disabled:opacity-30"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3autoBackupsOffset Tff7b72+ Te6edf3autoBackupsLimit Tff7b72>= Te6edf3autoBackupsTotalTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextBackupsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-chevron-right"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3Utils Tff7b72from Ta5d6ff"../../js/Utils"Tb4b4b4;
Tff7b72import Te6edf3ElectronUtils Tff7b72from Ta5d6ff"../../js/ElectronUtils"Tb4b4b4;
Tff7b72import Te6edf3DialogUtils Tff7b72from Ta5d6ff"../../js/DialogUtils"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../js/ToastUtils"Tb4b4b4;
Tff7b72import Te6edf3GlobalEmitter Tff7b72from Ta5d6ff"../../js/GlobalEmitter"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"AboutPage"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3UtilsTb4b4b4,
Te6edf3appInfoTff7b72: Tb4b4b4{
Te6edf3versionTff7b72: Ta5d6ff"unknown"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3configTff7b72: Tff7b72nullTb4b4b4,
Te6edf3updateIntervalTff7b72: Tff7b72nullTb4b4b4,
Te6edf3healthIntervalTff7b72: Tff7b72nullTb4b4b4,
Te6edf3databaseHealthTff7b72: Tff7b72nullTb4b4b4,
Te6edf3databaseRecoveryActionsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3databaseActionMessageTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3databaseActionErrorTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3databaseActionInProgressTff7b72: Tff7b72falseTb4b4b4,
Te6edf3healthLoadingTff7b72: Tff7b72falseTb4b4b4,
Te6edf3electronMemoryUsageTff7b72: Tff7b72nullTb4b4b4,
Te6edf3backupInProgressTff7b72: Tff7b72falseTb4b4b4,
Te6edf3backupMessageTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3backupErrorTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3restoreInProgressTff7b72: Tff7b72falseTb4b4b4,
Te6edf3restoreMessageTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3restoreErrorTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3restoreFileNameTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3restoreFileTff7b72: Tff7b72nullTb4b4b4,
Te6edf3reloadingRnsTff7b72: Tff7b72falseTb4b4b4,
Te6edf3snapshotNameTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3snapshotsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3snapshotsTotalTff7b72: T79c0ff0Tb4b4b4,
Te6edf3snapshotsOffsetTff7b72: T79c0ff0Tb4b4b4,
Te6edf3snapshotsLimitTff7b72: T79c0ff3Tb4b4b4,
Te6edf3snapshotInProgressTff7b72: Tff7b72falseTb4b4b4,
Te6edf3snapshotMessageTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3snapshotErrorTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3autoBackupsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3autoBackupsTotalTff7b72: T79c0ff0Tb4b4b4,
Te6edf3autoBackupsOffsetTff7b72: T79c0ff0Tb4b4b4,
Te6edf3autoBackupsLimitTff7b72: T79c0ff4Tb4b4b4,
Te6edf3electronVersionTff7b72: Tff7b72nullTb4b4b4,
Te6edf3chromeVersionTff7b72: Tff7b72nullTb4b4b4,
Te6edf3nodeVersionTff7b72: Tff7b72nullTb4b4b4,
Te6edf3showContactSupportTff7b72: Tff7b72falseTb4b4b4,
Te6edf3developerLxmfPrimaryTff7b72: Ta5d6ff"f489752fbef161c64d65e385a4e9fc74"Tb4b4b4,
Te6edf3developerLxmfAlternateTff7b72: Ta5d6ff"43d3309adf27fc446556121b553b56a6"Tb4b4b4,
Te6edf3moneroDonateAddressTff7b72:
Ta5d6ff"83SUg6mmkkVGwCycckLEgRfdmXNm7H9XtVjbGXp5kko71N6pTefYURJeS7WdEGHrz2aagmt4nF3dWg6mHcYs6yu4EokwhTh"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3isElectronTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3ElectronUtilsTb4b4b4.Te6edf3isElectronTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formattedUiBuildDateTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3raw Tff7b72= Tff7b72typeof Te6edf3__APP_BUILD_TIME__ Tff7b72!== Ta5d6ff"undefined" Tff7b72? Te6edf3__APP_BUILD_TIME__ Tff7b72: Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3rawTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3d Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3rawTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657NumberTb4b4b4.Tffa657isNaNTb4b4b4(Te6edf3dTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3rawTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3dTb4b4b4.Te6edf3toLocaleDateStringTb4b4b4(Tff7b72undefinedTb4b4b4, Tb4b4b4{
Te6edf3yearTff7b72: Ta5d6ff"numeric"Tb4b4b4,
Te6edf3monthTff7b72: Ta5d6ff"short"Tb4b4b4,
Te6edf3dayTff7b72: Ta5d6ff"numeric"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3environmentInfoTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3ua Tff7b72= Tff7b72typeof Te6edf3navigator Tff7b72!== Ta5d6ff"undefined" Tff7b72? Te6edf3navigatorTb4b4b4.Te6edf3userAgent Tff7b72|| Ta5d6ff"" Tff7b72: Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3platform Tff7b72= Tff7b72typeof Te6edf3navigator Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Te6edf3navigatorTb4b4b4.Te6edf3platform Tff7b72? Te6edf3navigatorTb4b4b4.Te6edf3platform Tff7b72: Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(
Tff7b72!Te6edf3platform Tff7b72&&
Tff7b72typeof Te6edf3navigator Tff7b72!== Ta5d6ff"undefined" Tff7b72&&
Te6edf3navigatorTb4b4b4.Te6edf3userAgentData Tff7b72&&
Te6edf3navigatorTb4b4b4.Te6edf3userAgentDataTb4b4b4.Te6edf3platform
Tb4b4b4) Tb4b4b4{
Te6edf3platform Tff7b72= Te6edf3navigatorTb4b4b4.Te6edf3userAgentDataTb4b4b4.Te6edf3platformTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3platform Tff7b72&& Ta5d6ff/Android/iTb4b4b4.Te6edf3testTb4b4b4(Te6edf3uaTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3platform Tff7b72= Ta5d6ff"Android"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3platform Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3appInfo Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3appInfoTb4b4b4.Te6edf3host_platformTb4b4b4) Tb4b4b4{
Te6edf3platform Tff7b72= Tff7b72thisTb4b4b4.Te6edf3appInfoTb4b4b4.Te6edf3host_platformTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3platformTb4b4b4) Tb4b4b4{
Te6edf3platform Tff7b72= Ta5d6ff"unknown"Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3language Tff7b72=
Tff7b72typeof Te6edf3navigator Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Te6edf3navigatorTb4b4b4.Te6edf3language
Tff7b72? Te6edf3navigatorTb4b4b4.Te6edf3language
Tff7b72: Tff7b72typeof Te6edf3navigator Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Te6edf3navigatorTb4b4b4.Te6edf3languages Tff7b72&& Te6edf3navigatorTb4b4b4.Te6edf3languagesTb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72? Te6edf3navigatorTb4b4b4.Te6edf3languagesTb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72: Ta5d6ff"unknown"Tb4b4b4;
Tff7b72return Tb4b4b4{
Te6edf3platformTb4b4b4,
Te6edf3languageTb4b4b4,
Te6edf3userAgentTff7b72: Te6edf3ua Tff7b72|| Ta5d6ff"unknown"Tb4b4b4,
Te6edf3backendUrlTff7b72: Tff7b72typeof Tffa657window Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Tffa657windowTb4b4b4.Te6edf3location Tff7b72? Tffa657windowTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3origin Tff7b72: Ta5d6ff"unknown"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3getAppInfoTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3getDatabaseHealthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3listSnapshotsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3listAutoBackupsTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Update stats every 5 seconds
Tff7b72thisTb4b4b4.Te6edf3updateInterval Tff7b72= Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3getAppInfoTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff5000Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3healthInterval Tff7b72= Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3getDatabaseHealthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff30000Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3updateIntervalTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3updateIntervalTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3healthIntervalTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3healthIntervalTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Tff7b72async Te6edf3listSnapshotsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/database/snapshots"Tb4b4b4, Tb4b4b4{
Te6edf3paramsTff7b72: Tb4b4b4{
Te6edf3limitTff7b72: Tff7b72thisTb4b4b4.Te6edf3snapshotsLimitTb4b4b4,
Te6edf3offsetTff7b72: Tff7b72thisTb4b4b4.Te6edf3snapshotsOffsetTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshots Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3snapshotsTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshotsTotal Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3totalTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff"Failed to list snapshots"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3listAutoBackupsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/database/backups"Tb4b4b4, Tb4b4b4{
Te6edf3paramsTff7b72: Tb4b4b4{
Te6edf3limitTff7b72: Tff7b72thisTb4b4b4.Te6edf3autoBackupsLimitTb4b4b4,
Te6edf3offsetTff7b72: Tff7b72thisTb4b4b4.Te6edf3autoBackupsOffsetTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3autoBackups Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3backupsTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3autoBackupsTotal Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3totalTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff"Failed to list auto-backups"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3downloadSnapshotTb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3downloadName Tff7b72= Te6edf3filenameTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff".zip"Tb4b4b4) Tff7b72? Te6edf3filename Tff7b72: Ta5d6ff`Tffd700${Te6edf3filenameTffd700}Ta5d6ff.zipTa5d6ff`Tb4b4b4;
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/database/snapshots/Tffd700${Te6edf3filenameTffd700}Ta5d6ff/downloadTa5d6ff`Tb4b4b4, Tb4b4b4{
Te6edf3responseTypeTff7b72: Ta5d6ff"blob"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3url Tff7b72= Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3createObjectURLTb4b4b4(Tff7b72new Te6edf3BlobTb4b4b4(Tb4b4b4[Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4]Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"application/zip" Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3link Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3href Tff7b72= Te6edf3urlTb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"download"Tb4b4b4, Te6edf3downloadNameTb4b4b4)Tb4b4b4;
Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3linkTb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3removeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3revokeObjectURLTb4b4b4(Te6edf3urlTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_downloaded"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_download_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3downloadBackupFileTb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/database/backups/Tffd700${Te6edf3filenameTffd700}Ta5d6ff/downloadTa5d6ff`Tb4b4b4, Tb4b4b4{
Te6edf3responseTypeTff7b72: Ta5d6ff"blob"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3url Tff7b72= Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3createObjectURLTb4b4b4(Tff7b72new Te6edf3BlobTb4b4b4(Tb4b4b4[Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3link Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3href Tff7b72= Te6edf3urlTb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"download"Tb4b4b4, Te6edf3filenameTb4b4b4)Tb4b4b4;
Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3linkTb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3removeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3revokeObjectURLTb4b4b4(Te6edf3urlTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.backup_downloaded"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.backup_download_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3deleteSnapshotTb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.delete_snapshot_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Tff7b72deleteTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/database/snapshots/Tffd700${Te6edf3filenameTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.snapshot_deleted"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listSnapshotsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_delete_snapshot"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3deleteBackupTb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.delete_backup_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Tff7b72deleteTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/database/backups/Tffd700${Te6edf3filenameTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.backup_deleted"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listAutoBackupsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_delete_backup"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3nextSnapshotsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3snapshotsOffset Tff7b72+ Tff7b72thisTb4b4b4.Te6edf3snapshotsLimit Tff7b72< Tff7b72thisTb4b4b4.Te6edf3snapshotsTotalTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3snapshotsOffset Tff7b72+= Tff7b72thisTb4b4b4.Te6edf3snapshotsLimitTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listSnapshotsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3prevSnapshotsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3snapshotsOffset Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3snapshotsOffset Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3snapshotsOffset Tff7b72- Tff7b72thisTb4b4b4.Te6edf3snapshotsLimitTb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listSnapshotsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3nextBackupsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3autoBackupsOffset Tff7b72+ Tff7b72thisTb4b4b4.Te6edf3autoBackupsLimit Tff7b72< Tff7b72thisTb4b4b4.Te6edf3autoBackupsTotalTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3autoBackupsOffset Tff7b72+= Tff7b72thisTb4b4b4.Te6edf3autoBackupsLimitTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listAutoBackupsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3prevBackupsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3autoBackupsOffset Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3autoBackupsOffset Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3autoBackupsOffset Tff7b72- Tff7b72thisTb4b4b4.Te6edf3autoBackupsLimitTb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listAutoBackupsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3createSnapshotTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3snapshotInProgressTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshotInProgress Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshotMessage Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshotError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/database/snapshot"Tb4b4b4, Tb4b4b4{
Te6edf3nameTff7b72: Tff7b72thisTb4b4b4.Te6edf3snapshotName Tff7b72|| Ta5d6ff`Ta5d6ffsnapshot-Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshotMessage Tff7b72= Ta5d6ff"Snapshot created successfully"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3snapshotName Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3listSnapshotsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3snapshotError Tff7b72= Ta5d6ff"Failed to create snapshot"Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3snapshotInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3restoreFromSnapshotTb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.restore_snapshot_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/database/restore"Tb4b4b4, Tb4b4b4{ Te6edf3path Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3status Tff7b72=== Ta5d6ff"success"Tb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.database_restored"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isElectronTb4b4b4) Tb4b4b4{
Te6edf3setTimeoutTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3ElectronUtilsTb4b4b4.Te6edf3relaunchTb4b4b4(Tb4b4b4)Tb4b4b4, T79c0ff2000Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_restore_snapshot"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3getAppInfoTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/app/info"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3appInfo Tff7b72= Tb4b4b4{
Tb4b4b4...Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3appInfo Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4...Tb4b4b4(Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3app_info Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isElectronTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3electronMemoryUsage Tff7b72= Tff7b72await Te6edf3ElectronUtilsTb4b4b4.Te6edf3getMemoryUsageTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3electronVersion Tff7b72= Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3electronVersionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3chromeVersion Tff7b72= Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3chromeVersionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3nodeVersion Tff7b72= Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3nodeVersionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3acknowledgeIntegrityTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity_acknowledge_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/app/integrity/acknowledge"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity_acknowledged"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3getAppInfoTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_acknowledge_integrity"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3getDatabaseHealthTb4b4b4(Te6edf3showMessage Tff7b72= Tff7b72falseTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3healthLoading Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/database/health"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseHealth Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3showMessageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseActionMessage Tff7b72= Ta5d6ff"Database health refreshed"Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3databaseActionError Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseActionError Tff7b72= Ta5d6ff"Failed to load database health"Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3healthLoading Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3vacuumDatabaseTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3databaseActionInProgressTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3databaseActionInProgress Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseActionMessage Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseActionError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseRecoveryActions Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/database/vacuum"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTff7b72?Tb4b4b4.Te6edf3healthTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseHealth Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTb4b4b4.Te6edf3healthTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3msg Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.vacuum_complete"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseActionMessage Tff7b72= Te6edf3msgTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.vacuum_complete"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseActionError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.vacuum_failed"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3detail Tff7b72= Te6edf3eTff7b72?Tb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3messageTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3detail Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.vacuum_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseActionInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3backupDatabaseTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3backupInProgressTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3backupInProgress Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3backupMessage Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3backupError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/database/backup/download"Tb4b4b4, Tb4b4b4{
Te6edf3responseTypeTff7b72: Ta5d6ff"blob"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3blob Tff7b72= Tff7b72new Te6edf3BlobTb4b4b4(Tb4b4b4[Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4]Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"application/zip" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3url Tff7b72= Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3createObjectURLTb4b4b4(Te6edf3blobTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3link Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3href Tff7b72= Te6edf3urlTb4b4b4;
Tff7b72const Te6edf3filename Tff7b72=
Te6edf3responseTb4b4b4.Te6edf3headersTb4b4b4[Ta5d6ff"content-disposition"Tb4b4b4]Tff7b72?Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"filename="Tb4b4b4)Tff7b72?Tb4b4b4.Tb4b4b4[T79c0ff1Tb4b4b4]Tff7b72?Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/"/gTb4b4b4, Ta5d6ff""Tb4b4b4) Tff7b72||
Ta5d6ff"meshchatx-backup.zip"Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"download"Tb4b4b4, Te6edf3filenameTb4b4b4)Tb4b4b4;
Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3linkTb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3linkTb4b4b4.Te6edf3removeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3revokeObjectURLTb4b4b4(Te6edf3urlTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3backupMessage Tff7b72= Ta5d6ff"Backup downloaded"Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3getDatabaseHealthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3backupError Tff7b72= Ta5d6ff"Backup failed"Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3backupInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3restoreDatabaseTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3restoreInProgressTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3restoreFileTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3restoreError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.restore_select_file"Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.restore_file_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3restoreFile Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreFileName Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3restoreInProgress Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreMessage Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3formData Tff7b72= Tff7b72new Te6edf3FormDataTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3formDataTb4b4b4.Te6edf3appendTb4b4b4(Ta5d6ff"file"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3restoreFileTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/database/restore"Tb4b4b4, Te6edf3formDataTb4b4b4, Tb4b4b4{
Te6edf3headersTff7b72: Tb4b4b4{ Ta5d6ff"Content-Type"Tff7b72: Ta5d6ff"multipart/form-data" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreMessage Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.database_restored"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseHealth Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTff7b72?Tb4b4b4.Te6edf3health Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3databaseHealthTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseRecoveryActions Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTff7b72?Tb4b4b4.Te6edf3actions Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3databaseRecoveryActionsTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.database_restored"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isElectronTb4b4b4) Tb4b4b4{
Te6edf3setTimeoutTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3ElectronUtilsTb4b4b4.Te6edf3relaunchTb4b4b4(Tb4b4b4)Tb4b4b4, T79c0ff2000Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3getDatabaseHealthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3restoreError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_restore_file"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_restore_file"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3restoreInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreFile Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreFileName Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3runRecoveryTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3databaseActionInProgressTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.recovery_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3databaseActionInProgress Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseActionMessage Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseActionError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/database/recover"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTff7b72?Tb4b4b4.Te6edf3healthTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseHealth Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTb4b4b4.Te6edf3healthTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3databaseRecoveryActions Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3databaseTff7b72?Tb4b4b4.Te6edf3actions Tff7b72|| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3msg Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.recovery_complete"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3databaseActionMessage Tff7b72= Te6edf3msgTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.recovery_complete"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseActionError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.recovery_failed"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3detail Tff7b72= Te6edf3eTff7b72?Tb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3messageTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3detail Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.recovery_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3databaseActionInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3getConfigTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3configTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// do nothing if failed to load config
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3copyValueTb4b4b4(Te6edf3valueTb4b4b4, Te6edf3labelKeyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3label Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Te6edf3labelKeyTb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.copied_label_to_clipboard"Tb4b4b4, Tb4b4b4{ Te6edf3label Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_to_copy_label"Tb4b4b4, Tb4b4b4{ Te6edf3label Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3relaunchTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3ElectronUtilsTb4b4b4.Te6edf3relaunchTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3restartRnsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3reloadingRnsTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3reloadingRns Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3loadingTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"app.reloading_rns"Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4, Ta5d6ff"about-rns-reload"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/reload"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"app.reloaded_rns"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3getAppInfoTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3error Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"settings.failed_reload_reticulum"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3dismissTb4b4b4(Ta5d6ff"about-rns-reload"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3reloadingRns Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3shutdownTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.shutdown_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
T8b949e// try to notify backend first
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/app/shutdown"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
T8b949e// ignore errors if backend is already stopping
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isElectronTb4b4b4) Tb4b4b4{
Te6edf3ElectronUtilsTb4b4b4.Te6edf3shutdownTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Tffa657window Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroidTff7b72?Tb4b4b4.Te6edf3exitAppTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroidTb4b4b4.Te6edf3exitAppTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.shutdown_sent"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.shutdown_sent"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3showChangelogTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"show-changelog"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3showTutorialTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"show-tutorial"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3showReticulumConfigFileTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3reticulumConfigPath Tff7b72= Tff7b72thisTb4b4b4.Te6edf3appInfoTb4b4b4.Te6edf3reticulum_config_pathTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3reticulumConfigPathTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3ok Tff7b72= Tff7b72await Te6edf3ElectronUtilsTb4b4b4.Te6edf3revealPathInFolderOrCopyTb4b4b4(Te6edf3reticulumConfigPathTb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.copied"Tb4b4b4)Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3okTb4b4b4) Tb4b4b4{
Te6edf3DialogUtilsTb4b4b4.Te6edf3alertTb4b4b4(Te6edf3reticulumConfigPathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3showDatabaseFileTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3databasePath Tff7b72= Tff7b72thisTb4b4b4.Te6edf3appInfoTb4b4b4.Te6edf3database_pathTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3databasePathTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3ok Tff7b72= Tff7b72await Te6edf3ElectronUtilsTb4b4b4.Te6edf3revealPathInFolderOrCopyTb4b4b4(Te6edf3databasePathTb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.copied"Tb4b4b4)Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3okTb4b4b4) Tb4b4b4{
Te6edf3DialogUtilsTb4b4b4.Te6edf3alertTb4b4b4(Te6edf3databasePathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3formatBytesTff7b72: Tff7b72function Tb4b4b4(Te6edf3bytesTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatBytesTb4b4b4(Te6edf3bytesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatNumberTff7b72: Tff7b72function Tb4b4b4(Te6edf3numTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatNumberTb4b4b4(Te6edf3numTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatBytesPerSecondTff7b72: Tff7b72function Tb4b4b4(Te6edf3bytesPerSecondTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatBytesPerSecondTb4b4b4(Te6edf3bytesPerSecondTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onRestoreFileChangeTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3input Tff7b72= Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4;
Tff7b72const Te6edf3files Tff7b72= Te6edf3inputTb4b4b4.Te6edf3filesTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3files Tff7b72&& Te6edf3filesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3restoreFile Tff7b72= Te6edf3filesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreFileName Tff7b72= Te6edf3filesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3nameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3restoreMessage Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3restoreDatabaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// allow re-selecting the same file later
Te6edf3inputTb4b4b4.Te6edf3value Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatRecoveryResultTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72=== Tff7b72null Tff7b72|| Te6edf3value Tff7b72=== Tff7b72undefinedTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"—"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3valueTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff", "Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3valueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3statusPillClassTb4b4b4(Te6edf3isGoodTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3isGood
Tff7b72? Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-emerald-100 text-emerald-700 dark:bg-emerald-900/50 dark:text-emerald-300 px-3 py-1 text-xs font-semibold"
Tff7b72: Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-orange-100 text-orange-700 dark:bg-orange-900/50 dark:text-orange-300 px-3 py-1 text-xs font-semibold"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72style Te6edf3scopedTb4b4b4>
Tb4b4b4@Tff7b72reference Ta5d6ff"../../style.css"Tb4b4b4;
Tb4b4b4.T56d364about-section Tb4b4b4{
@apply w-full border-b border-gray-200/60 Te6edf3darkTb4b4b4:Tff7b72borderTff7b72-Te6edf3zinc-800Tff7b72/T79c0ff60 Te6edf3py-6 Te6edf3smTff7b72:Te6edf3py-8 Tff7b72lastTff7b72:Tff7b72borderT79c0ff-0Tb4b4b4;
Tb4b4b4}
Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364about-btnTb4b4b4:Tf0883efocus-visibleTff7b72) Tb4b4b4{
Tff7b72outlineTb4b4b4: T79c0ff2Tffa657px Tff7b72solid Tffa657rgbaTb4b4b4(T79c0ff59Tb4b4b4, T79c0ff130Tb4b4b4, T79c0ff246Tb4b4b4, T79c0ff0.35Tb4b4b4)Tb4b4b4;
Tff7b72outline-offsetTb4b4b4: T79c0ff2Tffa657pxTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364about-action-btn Tb4b4b4{
@apply min-w-0 min-h-[40px] justify-center whitespace-nowrapTb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────